﻿using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Schism.Core
{
    [Serializable]
    public abstract class MapBase<T>
    {
        //Fields
        public T[,] MapMatrix;
        
        public T this[int x, int y]
        {
            get { return MapMatrix[y, x]; }
            protected set { MapMatrix[y, x] = value; }
        }
        
        public int MapWidth
        {
            get { return MapMatrix.GetLength(1); }            
        }
        public int MapHeight
        {
            get { return MapMatrix.GetLength(0); }
        }

        //ctor
        public MapBase(T[,] matrix)
        {
            MapMatrix = matrix;
        }

        //Methods
    }
}
